#!/usr/bin/env ts-node

import { EastMoneyAPI } from '../utils/EastMoneyAPI';

async function testSectorClassification() {
  console.log('🧪 测试股票板块分类功能...');
  
  const api = new EastMoneyAPI();
  
  // 测试不同类型的股票代码
  const testCodes = [
    '600000', // 沪A主板 - 浦发银行
    '688001', // 科创板 - 华兴源创
    '000001', // 深A主板 - 平安银行
    '002001', // 中小板 - 新和成
    '300001', // 创业板 - 特锐德
  ];
  
  try {
    console.log('获取测试股票数据...');
    // 使用getAllAStockList获取前几只股票来测试
    const result = await api.getAllAStockList(1, 10);
    const stocksData = result ? result.stocks : [];
    
    if (stocksData.length === 0) {
      console.log('❌ 未获取到测试数据');
      return;
    }
    
    console.log('\n📊 股票板块分类结果:');
    console.log('='.repeat(80));
    console.log('股票代码\t股票名称\t\t市场\t板块分类');
    console.log('='.repeat(80));
    
    for (const stock of stocksData) {
      console.log(`${stock.stockCode}\t${stock.stockName.padEnd(12, ' ')}\t${stock.marketCode}\t${stock.sector}`);
    }
    
    // 统计各板块数量
    const sectorStats = stocksData.reduce((stats, stock) => {
      stats[stock.sector] = (stats[stock.sector] || 0) + 1;
      return stats;
    }, {} as Record<string, number>);
    
    console.log('\n📈 板块统计:');
    for (const [sector, count] of Object.entries(sectorStats)) {
      console.log(`${sector}: ${count} 只`);
    }
    
  } catch (error) {
    console.error('❌ 测试失败:', error);
  }
}

testSectorClassification().then(() => {
  console.log('✅ 测试完成');
  process.exit(0);
}).catch(console.error);